package lwq

import (
	"strconv"
	"strings"
	"time"
)

type LXZH_类型转换 struct {
}

func (*LXZH_类型转换) DW_到文本(任意数据 any) (返回值 string) {
	返回值 = any_到文本(任意数据)
	return
}
func (*LXZH_类型转换) DZ_到整数(任意数据 any) (返回值 int) {
	文本 := any_到文本(任意数据)
	位置 := strings.Index(文本, ".")
	if 位置 != -1 {
		文本 = 文本[:位置]
	}
	if 文本 == "true" {
		return 1
	}
	结果, err := strconv.ParseInt(文本, 0, 64)
	if err != nil {
		return 0
	}
	返回值 = int(结果)
	return
}
func (*LXZH_类型转换) DS_到双精度小数(任意数据 any) (返回值 float64) {
	文本 := any_到文本(任意数据)
	结果, err := strconv.ParseFloat(文本, 64)
	if err != nil {
		return 0
	}
	返回值 = 结果
	return
}
func (*LXZH_类型转换) DL_到逻辑值(任意数据 any) (返回值 bool) {
	文本 := any_到文本(任意数据)
	结果, err := strconv.ParseBool(文本)
	if err != nil {
		return false
	}
	返回值 = 结果
	return
}

func (*LXZH_类型转换) DZ_到字节集(任意数据 any) (返回值 []byte) {
	文本 := any_到文本(任意数据)
	返回值 = []byte(文本)
	return
}

func (*LXZH_类型转换) DS_到时间(任意数据 any) (返回值 time.Time) {
	文本 := any_到文本(任意数据)
	文本 = 全_文本.WBT_文本替换(文本, "/", "-", -1)
	返回值, _ = time.Parse("2006-01-02 15:04:05", 文本)

	return
}
func (*LXZH_类型转换) DS_到时间戳(任意数据 any) (返回值 int) {
	文本 := any_到文本(任意数据)
	文本 = 全_文本.WBT_文本替换(文本, "/", "-", -1)
	时间, err := time.Parse("2006-01-02 15:04:05", 文本)
	if err != nil {
		return
	}
	返回值 = int(时间.UnixMilli())
	return
}
